const app = getApp();
const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.src = '/audio/click.mp3';
const db=wx.cloud.database().collection("user")
const map=wx.cloud.database().collection("map")
const examQR=wx.cloud.database().collection("examQR")
const exam=wx.cloud.database().collection("exam")
var num = 15;//定义开始秒数
//定义一个布尔变量，用于停止计时器
var Stop=false;

var _animation;
var _animationIndex;
const _ANIMATION_TIME = 500;
Page({
  data: {
    bj:"",
    xm:"",
    xh:"",
    dh:"",
    cym:"",
    fileID:"/images/0.png",
    isexam:"0",
    showModalStatus: false,
    loading: true,
    fileId:"/images/0.png",
    name:'个人信息获取中~',
    openid:"",
    saying:"点我点我~",
    first: true,
    //wsn
    move:{},
    transposition: false,//判断是否为交换算法
    firstone:true,
    originalHidden: true,
    videoHidden: true,
    counthidden: false,
    num: num,
    puzzleHidden:true,
    cardCur: 0,
    currentIndex: 0,
    clueHidden:true,
    textHidden:false,
    chooseHidden:true,
    robotHidden:false,
    badge1Hidden:true,
    badge2Hidden:true,
    badge3Hidden:true,
    badge4Hidden:true,
    badge5Hidden:true,
    badge6Hidden:true,
    badge7Hidden:true,
    badge8Hidden:true,
    currentIndex1:0,
    puzzleHidden1:true,
    //各类拼图all
    swiperList: [{
      url: '/images/3/1/all.jpg',
      name: '嘉兴南湖'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/2/all.jpg',
      name: '邓小平故居'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/3/all.jpg',
      name:'古田旅游区'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/4/all.jpg',
      name:'井冈山'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/5/all.jpg',
      name:'江山岛战役纪念地'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/6/all.jpg',
      name:'革命烈士陵园'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/7/all.jpg',
      name:'陈云纪念馆'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/8/all.jpg',
      name:'侵浙日军投降仪式旧址'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/9/all.jpg',
      name:'龙华烈士陵园'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/10/all.jpg',
      name:'南湖革命纪念馆'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/11/all.jpg',
      name:'中华苏维埃共和国临时中央政府'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/12/all.jpg',
      name:'四明山抗日根据地'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/13/all.jpg',
      name:'宋庆龄同志故居'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/14/all.jpg',
      name:'韶山'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/15/all.jpg',
      name:'鲁迅故居'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/16/all.jpg',
      name:'北京天安门'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/17/all.jpg',
      name:'浙江乌镇'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/18/all.jpg',
      name:'西柏坡纪念馆'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/19/all.jpg',
      name:'新四军军部旧址纪念馆'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/20/all.jpg',
      name:'新四军苏浙军区纪念馆'
    }, {
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/21/all.jpg',
      name:'延安革命纪念馆'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/22/all.jpg',
      name:'周恩来纪念馆'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/23/all.jpg',
      name:'中共二大会址纪念馆'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/24/all.jpg',
      name:'中共一大会址'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/25/all.jpg',
      name:'中共浙南一大纪念馆'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/26/all.jpg',
      name:'川陵革命根据地纪念馆'
    },{
      url: 'cloud://cloud1-4g4aia8u2173a4df.636c-cloud1-4g4aia8u2173a4df-1322250303/image/3/27/all.jpg',
      name:'遵义会议会址'
    },
  ],
  swiperList1: [{
    url: 'cloud://eurekaaalizwel0928-7dnavdbf08aa4.6575-eurekaaalizwel0928-7dnavdbf08aa4-1309089038/images/3/28/all.jpg',
    name: '社区1'
  }, {
    url: 'cloud://eurekaaalizwel0928-7dnavdbf08aa4.6575-eurekaaalizwel0928-7dnavdbf08aa4-1309089038/images/3/29/all.jpg',
    name:'社区2'
  },
  {
    url: 'cloud://eurekaaalizwel0928-7dnavdbf08aa4.6575-eurekaaalizwel0928-7dnavdbf08aa4-1309089038/images/3/30/all.jpg',
    name:'社区3'
  },
],
  //video地址
    videolist:['cloud://whisper-1gg7eld076ed263f.7768-whisper-1gg7eld076ed263f-1309089038/video/3.mp4','cloud://whisper-1gg7eld076ed263f.7768-whisper-1gg7eld076ed263f-1309089038/video/2.mp4','cloud://whisper-1gg7eld076ed263f.7768-whisper-1gg7eld076ed263f-1309089038/video/1.mp4',],
  //机器人话语
  talkList:[{
    id:1,
    name:'“点我点我~”'
  },{
    id:2,
    name:'“不忘本来才能开辟未来，善于继承才能更好创新”——习近平'
  },{
    id:3,
    name:'“战争史上的奇观，中华民族的壮举，惊天动地的伟业”——毛泽东'
  },{
    id:4,
    name:'“不要陷于狭隘的经验论”——毛泽东'
  },{
    id:5,
    name:'“统筹兼顾，各得其所”——毛泽东'
  },{
    id:6,
    name:'“越是困难的地方越是要去，这才是好同志”——毛泽东'
  },{
    id:7,
    name:'“用民主方法解决人民内部矛盾”——毛泽东'
  },{
    id:8,
    name:'“一个脱离了低级趣味的人，一个有益于人民的人”——毛泽东'
  },{
    id:9,
    name:'“国内各民族的团结，这是我们的事业必定要胜利的基本保证”——毛泽东'
  },{
    id:10,
    name:'“星星之火，可以燎原”——毛泽东'
  }
  ],
    //wsn
    windowWidth: app.windowWidth, // 屏幕宽度
    modalHidden2: true,
    numData: [],
    m: '00',   // 分
    s: '00',   // 秒
    step: 0,   // 步数
    nowDifficultyDef: 3, // 默认当前难度系数 -- 注意这个值要和初始的 当前难度系数的值一样
    nowDifficulty: 3,    // 当前难度系数 3*3 4*4 5*5
    maxDifficulty: 5,   // 最大难度系数
    nowPuzzle:0,
    nowPuzzleDef:0,
    photo:1
  },
   xshow(){
    this.setData({
      showModalStatus: true  
    })
   },

  /**
   选择取消
   */
  videoConfirm2(){
    this.setData({
      chooseHidden:true,
      robotHidden:true,
    })
  },

   /**
   * 点击朦胧层触发
   * 
   */
  clickModal(e) {
    console.log('==', e)
    this.setData({
      clueHidden: true
    })
  },


/*
跳转语句
*/
clueChange:function(e){
    this.setData({
      clueHidden: true
    })
  },
goToTalkPage:function(param){
  wx.navigateTo({

    url:  '/pages/leaderboard/leaderboard',
    
    })
},
goTominePage:function(param){
  wx.switchTab({
    url:  '/pages/mine/mine',
    })
  },
/*
看完视频选择
*/
modalchange3(){
  this.setData({
    chooseHidden:true,
    robotHidden:true,
  })
},
robotchoose:function(e){
  this.setData({
    chooseHidden:true,
    robotHidden:true,
  })
    // 通关 或者 没开始游戏 就不能提示
  if (this.isPass || !this.isStart){
    wx.showToast({
      title: "游戏还没开始",
      icon: 'none',
      duration: 2000//持续的时间
    })
    return;
  } 
  var numData = this.data.numData;
  var nowDifficulty = this.data.nowDifficulty
  console.log(numData)
  console.log(nowDifficulty)
  for(let i in numData){
    if(numData[i].num==nowDifficulty*nowDifficulty){
      var myindex=i
      console.log(myindex)
      if(nowDifficulty==3){//难度为3的情况
        if (myindex==0){
          var mylist=["右","下"]
        }
        else if(myindex==1){
          var mylist=["左","右","下"]
        }
        else if(myindex==2){
          var mylist=["左","下"]
        }
        else if(myindex==3){
          var mylist=["上","右","下"]
        }
        else if(myindex==4){
          var mylist=["左","右","下","上"]
        }
        else if(myindex==5){
          var mylist=["左","右","上"]
        }
        else if(myindex==6){
          var mylist=["上","右"]
        }
        else if(myindex==7){
          var mylist=["左","上","右"]
        }
        else if(myindex==8){
          var mylist=["左","上"]
        }
      }
      else if(nowDifficulty==4){//难度为4的情况
        if (myindex==0){
          var mylist=["右","下"]
        }
        else if(myindex==1){
          var mylist=["左","右","下"]
        }
        else if(myindex==2){
          var mylist=["左","右","下"]
        }
        else if(myindex==3){
          var mylist=["左","下"]
        }
        else if(myindex==4){
          var mylist=["右","下","上"]
        }
        else if(myindex==5){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==6){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==7){
          var mylist=["左","上","下"]
        }
        else if(myindex==8){
          var mylist=["右","上","下"]
        }
        else if(myindex==9){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==10){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==11){
          var mylist=["上","左","下"]
        }
        else if(myindex==12){
          var mylist=["右","上"]
        }
        else if(myindex==13){
          var mylist=["左","右","上"]
        }
        else if(myindex==14){
          var mylist=["上","右","左"]
        }
        else if(myindex==15){
          var mylist=["左","上"]
        }
      }
      else if(nowDifficulty==5){//难度为5的情况
        if (myindex==0){
          var mylist=["右","下"]
        }
        else if(myindex==1){
          var mylist=["左","右","下"]
        }
        else if(myindex==2){
          var mylist=["左","右","下"]
        }
        else if(myindex==3){
          var mylist=["左","右","下"]
        }
        else if(myindex==4){
          var mylist=["左","下"]
        }
        else if(myindex==5){
          var mylist=["右","上","下"]
        }
        else if(myindex==6){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==7){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==8){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==9){
          var mylist=["左","上","下"]
        }
        else if(myindex==10){
          var mylist=["右","上","下"]
        }
        else if(myindex==11){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==12){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==13){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==14){
          var mylist=["上","下","左"]
        }
        else if(myindex==15){
          var mylist=["左","上","右"]
        }
        else if(myindex==16){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==17){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==18){
          var mylist=["左","右","上","下"]
        }
        else if(myindex==19){
          var mylist=["左","下","上"]
        }
        else if(myindex==20){
          var mylist=["右","上"]
        }
        else if(myindex==21){
          var mylist=["左","右","上"]
        }
        else if(myindex==22){
          var mylist=["左","上","右"]
        }
        else if(myindex==23){
          var mylist=["左","上","右"]
        }
        else if(myindex==24){
          var mylist=["左","下"]
        }
      }
      console.log(mylist)
      console.log(mylist.length)
      var s=Math.floor(Math.random()*mylist.length)
      this.setData({
        mylist
      })
      wx.showToast({
        title: "智能机器人通过大数据分析，你可以点击空白格"+mylist[s]+"方拼图",
        icon: 'none',
        duration: 3000//持续的时间
      })
      break
    }

  }



},
exchange:function(e){
  this.setData({
    chooseHidden:true,
  })
    // 通关 或者 没开始游戏 就不能提示
  if (this.isPass || !this.isStart){
    wx.showToast({
      title: "游戏还没开始",
      icon: 'none',
      duration: 2000//持续的时间
    })
    return;
  } 
  wx.showToast({
    title: "请依次点击你要交换的两个拼图",
    icon: 'none',
    duration: 2000//持续的时间
  })
  this.setData({
    transposition:true
  })
},
/*
demo区域
*/

demo(){
  console.log("111")
},

/**
 * 
 选择拼图弹窗设置 
 */
showoriginal: function(e) { 
  this.setData({
    originalHidden: false
  })
},
originalChange: function(e) {
  this.setData({
    originalHidden: true
  })
},
/*
提示视频跳转
*/


videoCancel: function() {
  // do something
  this.setData({
    videoHidden: true
  })
},

/**
 *  点击确认
 */
videoConfirm: function() {
  // do something
  this.setData({
    clueHidden: false
  })
},
//视频倒计时器
onload(options) {
  //function里直接用this会出错
  console.log(123,options)
  if (options.userInfo) {
    // 解码并解析对象
    const userInfo = JSON.parse(decodeURIComponent(options.userInfo));
    console.log('接收到的用户信息:', userInfo);
    const {avatar,rank,points,username} = userInfo
    this.setData({
      fileID:avatar,
      name:username,
      jifen:points,
      rank
    });
    
    // 这里可以继续使用userInfo中的其他字段
  }
  var that =this
  //延时显示函数
  setTimeout(function(){
  //设置隐藏属性为否
  that.setData({
    counthidden:true
  })
}
//设置延时为2s
  , 1000);
},

videoTap: function() {
  if (this.isPass || !this.isStart){
    wx.showToast({
      title: "游戏还没开始",
      icon: 'none',
      duration: 2000//持续的时间
    })
    return ;
  }
  var videolist=this.data.videolist
  var ran=Math.floor(Math.random()*videolist.length)
  num=15
  this.setData({
    size: videolist[ran],
    videoHidden: false
  })
  this.timer()
},
start: function () { //开始计时函数
  //设置显示器值为当前值减一
  this.setData({
    num: num--
  })
  //调用timer函数
  this.timer()
},

stop: function () {  //停止函数
  //将是否停止循环值定义为真
  this.setData({
    Stop: true,
    chooseHidden:false
  })
},
timer: function () { //计时函数
  if (num >= 0 && Stop==false) {
    //隔一秒回调start函数，注意setTimeout里函数不要加括号，或者用function（）{}
    setTimeout(this.start, 1000);
  } else {
    this.setData({
      num: 1,
    })
    this.stop()
    this.videoCancel()
  }
},
/**
 拼图选择
*/
//picker选择拼图
bindPickerChange: function (e) {
  this.setData({
    photo: ++e.detail.value
  })
  this.reset();
  puzzleHidden:true;
},

showpuzzle: function(e) {
this.setData({
  puzzleHidden: false
})
},
showpuzzle1: function(e) {
  this.setData({
    puzzleHidden1: false
  })
  },
/**
* 点击取消
*/
puzzleChange: function(e) {
  var value = e.currentTarget.dataset
  var currentIndex=value.currentindex
this.setData({
  currentIndex,
  photo:++currentIndex,
  puzzleHidden: true
})
this.reset()
},
puzzleChange1: function(e) {
  var value = e.currentTarget.dataset
  var currentIndex1=value.currentindex
  this.setData({
  currentIndex1,
  photo:++currentIndex1+27,
  puzzleHidden1: true
})
this.reset()
},
cardSwiper(e) {
this.setData({
  cardCur: e.detail.current
})
},

// 切换swiper-item触发bindchange事件
pagechange: function (e) {
// 通过touch判断，改变tab的下标值
let {current,source} = e.detail
if (source === 'autoplay' || source === 'touch') {
  const currentIndex = current
  this.setData({
    currentIndex
  })
}
},
pagechange1: function (e) {
  // 通过touch判断，改变tab的下标值
  let {current,source} = e.detail
  if (source === 'autoplay' || source === 'touch') {
    const currentIndex1 = current
    this.setData({
      currentIndex1
    })
  }
  },

//点击tab时触发
titleclick:function(e) {
  console.log(e)
  let currentIndex = e.currentTarget.dataset.index
  console.log(currentIndex)
  this.setData({
    currentIndex,
    photo:++currentIndex,
    puzzleHidden:true
  })
  this.reset()
},
titleclick1:function(e) {
  console.log(e)
  let currentIndex1 = e.currentTarget.dataset.index
  console.log(currentIndex1)
  this.setData({
    currentIndex1,
    photo:++currentIndex1+27,
    puzzleHidden1:true
  })
  this.reset()
},


  /**
   * 
  显示原图弹窗设置
   */
  modalTap2: function(e) {
    this.setData({
      modalHidden2: false
    })
  },
  modalChange2: function(e) {
    this.setData({
      modalHidden2: true
    })
  },

  onLoad() {
    this.initNum(this.data.nowDifficulty);
    setTimeout(() => {
      this.setData({
        loading: true
      })
    }, setTimeout(() => {
      this.setData({
        loading: false
      })
    }, 3000));
  },

  // 开始游戏
  isStart: false,
  goGame() {
    if (this.isStart) return;

    this.isStart = true;
    this.isPass = false;
    this.setData({
      m: '00', s: '00', step: 0
    })
    this.disorganize(this.data.numData); // 随机打乱题目顺序
    this.countdown();
    setTimeout(function () {
      this.setData({
        hidden: true
      })
    }.bind(this), )
  },

  // 重置游戏
  reset() {
    this.isStart = false;
    this.isPass = false;
    this.initNum(this.data.nowDifficulty);
    clearInterval(this.Timer);
    this.Timer = null;
    this.times = 0;
    setTimeout(function () {
      this.setData({
        hidden: false
      })
    }.bind(this), )
  },

  // 游戏结束
  gameOver() {
    let numData = this.data.numData;
    // 如果最后一格为空的话 并且 倒数第二格值正确的话，再计算游戏是否结束
    if (numData[numData.length - 1].isEmpty && numData[numData.length - 2].num == numData.length - 1) {
      let flg = true; // 是否结束
      for (let y in numData) {
        if (numData[y].num != parseInt(y) + 1) {
          flg = false;
          break;
        }
      }
      if (flg) {
        var badge1=this.data.badge1
        var badge2=this.data.badge2
        var badge3=this.data.badge3
        var badge4=this.data.badge4
        var badge5=this.data.badge5
        var badge6=this.data.badge6
        var badge7=this.data.badge7
        var badge8=this.data.badge8
        var m=this.data.m
        var s=this.data.s
        var step=this.data.step
        var openid=app.globalData.openid
        clearInterval(this.Timer);
        this.Timer = null;
        this.times = 0;
        this.isPass = true;
        this.isStart = false;
        var openid=app.globalData.openid
        //加分

            // db.where({
            //   openid:openid
            // }).get({
            //   success:res=>{
            //     if(res.data.length==0){
            //         var p=Math.floor(Math.random() * 100000);
            //         var cate=this.data.nowDifficulty
            //         if (cate==3){var csh=1}
            //         if (cate==4){var csh=3}
            //         if (cate==5){var csh=7}
                   
            //        db.add({
            //           data:{
            //             openid:app.globalData.openid,
            //             jifen:csh,
            //             name:'游客'+p,
            //             num:0,
            //             minutes:59,
            //             seconds:59
            //           },
                  
            //           success(res){
            //             console.log('成功')
            //           },
            //           fail(res){
            //             console.log('失败')
            //           }
            //        })
                

            //     }
            //     else{//用户已经存在不用干
            //       var cate=this.data.nowDifficulty
            //       var openid=app.globalData.openid
            //     if(cate==3){//难度为3的完成后积分加1
            //       db.where({
            //         openid:openid
            //       }).get({
            //         success:res=>{
            //           console.log("成功 1")
            //           if(this.data.isexam==1){
            //             examQR.get({
            //               success:r=>{
            //                 if (r.data[0].time==1){
            //                   exam.where({
            //                     openid:openid
            //                   }).update({
            //                     data:{
            //                       score:this.data.score+1
            //                     }
            //                   })
            //                   this.setData({
            //                     score:this.data.score+1
            //                   })
            //                 }
            //               }
            //             })
                       
            //           }
            //           db.where({
            //             openid:openid
            //           }).update({
            //             data:{
            //                 jifen:res.data[0].jifen+1,
            //                 num:res.data[0].num+1,
            //             }
            //           })
            //         }
            //       })
    
            //     }
            //     if(cate==4){//难度为4的拼图完成积分加3
            //       db.where({
            //         openid:openid
            //       }).get({
            //         success:res=>{
            //           console.log("成功 3")
            //           if(this.data.isexam==1){
            //             examQR.get({
            //               success:r=>{
            //                 if (r.data[0].time==1){
            //                   exam.where({
            //                     openid:openid
            //                   }).update({
            //                     data:{
            //                       score:this.data.score+3
            //                     }
            //                   })
            //                   this.setData({
            //                     score:this.data.score+3
            //                   })
            //                 }
            //               }
            //             })
                       
            //           }
            //           db.where({
            //             openid:openid
            //           }).update({
            //             data:{
            //                 jifen:res.data[0].jifen+3,
            //                 num:res.data[0].num+1
            //             }
            //           })
            //         }
            //       })
    
            //     }
            //     if(cate==5){//难度为5的拼图完成积分加7
            //       db.where({
            //         openid:openid
            //       }).get({
            //         success:res=>{
            //           var m=this.data.m
            //           var s=this.data.s
            //           var m=parseInt(m)
            //           var s=parseInt(s)
            //           console.log(m)
            //           console.log(s)
            //           var minutes=app.globalData.minutes
            //           var seconds=app.globalData.seconds
            //           if(m<=minutes&&s<seconds){
            //             app.globalData.minutes=m
            //             app.globalData.seconds=s
            //             minutes=m
            //             seconds=s
            //           }
            //           if(this.data.isexam==1){
            //             examQR.get({
            //               success:r=>{
            //                 if (r.data[0].time==1){
            //                   exam.where({
            //                     openid:openid
            //                   }).update({
            //                     data:{
            //                       score:this.data.score+7
            //                     }
            //                   })
            //                   this.setData({
            //                     score:this.data.score+7
            //                   })
            //                 }
            //               }
            //             })
                       
            //           }
            //           console.log("成功 7")
            //            db.where({
            //             openid:openid
            //           }).update({
            //             data:{
            //                 jifen:res.data[0].jifen+7,
            //                 num:res.data[0].num+1,
            //                 minutes:minutes,
            //                 seconds:seconds
            //             }
            //           })
            //         }
            //       })
    
            //     }
            //     }
              
                
            //   }
            // })
        
        var cate=this.data.nowDifficulty
        var photo=this.data.photo
        // if(cate==3){
        //   wx.showModal({
        //     title: '提示',
        //     content: '您已过关啦！积分+1',
        //     showCancel: false
        //   })
        // }
        // if(cate==4){
        //   wx.showModal({
        //     title: '提示',
        //     content: '您已过关啦！积分+3',
        //     showCancel: false
        //   })
        // }
        // if(cate==5){
        //   wx.showModal({
        //     title: '提示',
        //     content: '您已过关啦！积分+7',
        //     showCancel: false
        //   })
        // }
        //防止数据库修改误差
        // setTimeout(()=>{
        //   this.onShow()
        // },1000)
        if(photo==1){
          wx.showModal({
            title: '背景故事',
            content: '嘉兴南湖，位于浙江省嘉兴市，是浙江三大名湖，素来以“湖中有岛，岛中有湖”的独特景观和“轻烟拂渚，微风欲来”的烟雨景致成为江南著名的旅游胜地，也是中国共产党诞生地。主要景观有南湖红船、烟雨楼、南湖革命纪念馆、湖心岛、揽秀园、七一广场、月河历史街区等',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p1:1
            }
          })
          console.log(this.data.openid)
        }else if(photo==2){
          wx.showModal({
            title: '背景故事',
            content: '邓小平故居位于四川省广安市协兴镇。这里有近20处邓小平同志青少年时期的活动场所，树立了邓小平铜像、修建了邓小平故居陈列馆、邓小平缅怀馆等纪念设施。1904年8月22日，中国社会主义改革开放和现代化建设的总设计师邓小平同志就诞生在这里。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p2:1
            }
          })
        }else if(photo==3){
          wx.showModal({
            title: '背景故事',
            content: '古田旅游区是国家5A级旅游景区，位于福建省西南部，龙岩市上杭县古田镇，规划面积7.6平方公里，拥有古田会议会址群、古田会议纪念馆、毛主席纪念园等核心景区，是“全国十大优秀爱国主义教育基地”“全国红色旅游经典景区”。其中 古田会议旧址位于上杭县古田镇社下山西麓。这是一座建于清末公元1848年的宗祠，原称廖氏宗祠，又名万源祠。',
            showCancel: false
            
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p3:1
            }
          })
        }else if(photo==4){
          wx.showModal({
            title: '背景故事',
            content: '井冈山位于吉安市境内，是“中国革命的摇篮”，在这里既可看到红色革命遗迹，也可欣赏到绿色的自然风光。景区内分为11大景区，比较核心的是茨坪、黄洋界、主峰、杜鹃山（笔架山）和龙潭。其中井冈山革命博物馆，位于江西省井冈山上的茨坪，是中国遗址性革命史类博物馆。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p4:1
            }
          })
        }else if(photo==5){
          wx.showModal({
            title: '背景故事',
            content: '解放江山岛战役纪念地坐落于浙江省台州市椒江城区枫山北麓，由战斗陈列馆、烈士纪念馆、纪念塔碑和墓区组成。二十世纪五十年代，全国大陆解放后，浙东及台州一带的国民党残余军队逃至台州海口外的大陈岛、一江山岛等岛屿，骚扰大陆沿海。为粉碎美蒋“共同防御”的阴谋，保卫社会主义建设，中央军委决定首次实施海、陆、空三军协同作战解放一江山岛。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p5:1
            }
          })
        }else if(photo==6){
          wx.showModal({
            title: '背景故事',
            content: '始建于1969年，是新中国成立后为纪念为嘉兴解放牺牲的革命先烈而建。分设英雄纪念碑、英雄广场、烈士墓区、嘉兴革命历史史料陈列馆等区域。其中英雄纪念碑的碑体由人物群雕组成，分别代表不同历史时期人物的代表形象，是一座凝聚嘉兴革命历史的丰碑。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p6:1
            }
          })
        }else if(photo==7){
          wx.showModal({
            title: '背景故事',
            content: '陈云纪念馆是经中央批准建立的全国系统展示陈云生平业绩的纪念馆，地处陈云故乡一上海市青浦区练塘镇。2005年6月8日陈云同志诞辰100周年之际，陈云铜像在纪念馆落成，江泽民同志为铜像题词。2008年3月10日开始上海4家爱国主义教育示范基地免费向公众开放。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p7:1
            }
          })
        }else if(photo==8){
          wx.showModal({
            title: '背景故事',
            content: '侵浙日军投降仪式旧址占地43.31亩，建筑面积总计2600多平方米，1995年经修复作为浙江人民抗战纪念馆，旧址坐北朝南，泥石木结构，重檐亭式房屋。1995年9月正式对外公展，展厅内，分“侵华暴行，铁证如山”“抗日烽火，烧遍全国”“换庆胜利，严惩战犯”三个部分，陈列展出了近200幅历史照片、图片和当年受降仪式现场的部分实物，用生动直观的形式展示了日本军国主义的侵华暴行，表现了中华民族不屈不挠反抗侵略的斗争精神和取得的伟大胜利。 ',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p8:1
            }
          })
        }else if(photo==9){
          wx.showModal({
            title: '背景故事',
            content: '龙华烈士陵园由邓小平同志题写园名，位于龙华寺西侧，系全国重点文物保护单位和重点烈士纪念建筑物保护单位。这里原为国民党淞沪警备司令部旧址和龙华革命烈士就义地，解放后，作为革命烈士纪念地予以保护，20世纪90年代初与上海烈士陵园合并建设。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p9:1
            }
          })
        }else if(photo==10){
          wx.showModal({
            title: '背景故事',
            content: '南湖革命纪念馆成立于1959年10月，是嘉兴南湖中共一大会址的宣传、保护、管理机构。数以千计的文物资料、雕塑绘画、视频图片，在5600平方米的小小空间里多角度、全景式呈现出来。展览分“救亡图存”“开天辟地”“光辉历程”“走向复兴”四个部分，并设“中共一大代表人生轨迹”“中国共产党党章发展历程”两个专题。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p10:1
            }
          })
        }else if(photo==11){
          wx.showModal({
            title: '背景故事',
            content: '瑞金共和国摇篮景区位于江西省赣州瑞金市，占地面积4550余亩，由叶坪、红井、二苏大、中华苏维埃纪念园（南园和北园）、中央苏区军事文化博览园等景区组成。景区风景秀丽，基础设施完善，是全国旅游观光、培育爱国情感和民族精神的重要基地，是赣闽边际红色旅游集散中心。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p11:1
            }
          })
        }else if(photo==12){
          wx.showModal({
            title: '背景故事',
            content: '浙东四明山抗日根据地旧址群位于宁波市余姚梁弄镇。为纪念革命史绩和牺牲的烈士，余姚市梁弄镇于1963年创建了四明山革命纪念馆，搜集了一批文物，试行内部开放，到1981年重新大规模修缮，征集革命文物，修建“浙东区委旧址”，编写史料，充实图像画片，以及革命烈士的照片，正式辟为纪念馆，对外开放。其中的狮子山是1943年新四军浙东游击队挺进梁弄时，打败敌伪军的主战场。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p12:1
            }
          })
        }else if(photo==13){
          wx.showModal({
            title: '背景故事',
            content: '上海宋庆龄故居纪念馆是宋庆龄长期居住和生活的地方。1949年春宋庆龄入居此处，在此迎来了上海的解放。1949年8月，宋庆龄就是在这里欣然接受中国共产党的邀请，北上出席中国人民政治协商会议，参与制定建国大政方针，并当选为中央人民政府副主席。建国以后，她经常在此寓所会晤和宴请来访的各国贵宾，积极促进中外交往，维护国际正义。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p13:1
            }
          })
        }else if(photo==14){
          wx.showModal({
            title: '背景故事',
            content: '韶山，是湖南省辖县级市，位于湖南省中部偏东的湘中丘陵区，韶山著名景点有毛泽东故居、滴水洞、青年水库、毛氏宗祠、毛泽东纪念馆、毛泽东诗词碑林、韶山烈士陵园等。其中毛泽东故居是伟大领袖毛主席出生的地方，在此可以参观毛主席幼年、少年和青年时期居住过的卧室、书房等。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p14:1
            }
          })
        }else if(photo==15){
          wx.showModal({
            title: '背景故事',
            content: '鲁迅故里是鲁迅诞生和青少年时期生活过的故土，《从百草园到三味书屋》更是耳熟能详。鲁迅故里就有、百草园、三味书屋，还有鲁迅祖居、土谷祠、长庆寺、绍兴鲁迅纪念馆等一大批与鲁迅有关的人文古迹。它保护和延续绍兴古城的传统风貌的典型，打造成了生态型的“文物森林”。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p15:1
            }
          })
        }else if(photo==16){
          wx.showModal({
            title: '背景故事',
            content: '天安门广场，位于北京市中心，地处东城区东长安街，北起天安门，南至正阳门，东起中国国家博物馆，西至人民大会堂，南北长880米，东西宽500米，面积达44万平方米，可容纳100万人举行盛大集会，曾被评为“北京十六景”之一。天安门广场记载了中国人民不屈不挠的革命精神和大无畏的英雄气概，是举行重大庆典、盛大集会和外事迎宾的神圣重地，这里是中国最重要的活动举办地和集会场所。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p16:1
            }
          })
        }else if(photo==17){
          wx.showModal({
            title: '背景故事',
            content: '乌镇隶属于浙江省嘉兴市桐乡市，地处江浙沪“金三角”之地、杭嘉湖平原腹地。乌镇境内水系属太湖流域，河流纵横交织，京杭大运河依镇而过。乌镇是是江南四大古镇之一，也是中国首批十大历史文化名镇和中国十大魅力名镇、全国环境优美乡镇，拥有7000多年文明史和1300年建镇史，素有“中国最后的枕水人家”之誉。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p17:1
            }
          })
        }else if(photo==18){
          wx.showModal({
            title: '背景故事',
            content: '西柏坡位于河北省石家庄市平山县中部，总面积为 16440 平方米，曾是中共中央所在地，党中央和毛主席在此指挥了震惊中外的辽沈、淮海、平津三大战役，召开了具有伟大历史意义的七届二中全会和全国土地会议，解放全中国，故有“新中国从这里走来”、“中国命运定于此村”的美誉。为中国革命圣地之一，是全国重点文物保护单位。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p18:1
            }
          })
        }else if(photo==19){
          wx.showModal({
            title: '背景故事',
            content: '新四军海北支队旧址位于嘉兴市海盐县南北湖风景区南木山，原是一座建于民国初年的山村民居。后县委和政府对旧址进行了全面修葺并对外开放。它有陈列室4间，分序曲、耻辱篇、抗争篇、烽火篇和北撤篇五部分，重点介绍了新四军海北支队在海北地区的战斗经历，反映了抗日战争时期海盐周边地区的历史情况。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p19:1
            }
          })
        }else if(photo==20){
          wx.showModal({
            title: '背景故事',
            content: '新四军苏浙军区于1945年1月成立，位于长兴县境内。1943年秋，日军大肆进犯苏浙皖边区，国民党守军不战而退。新四军6师16旅根据中共中央的指示，由苏南向苏浙皖挺进，于年底进驻长兴槐坎仰峰岕，逐次开辟了以仰峰岕为指挥中心的郎（溪）广（德）长（兴）抗日游击根据地。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p20:1
            }
          })
        }else if(photo==21){
          wx.showModal({
            title: '背景故事',
            content: '延安革命纪念地景区由宝塔山、枣园革命旧址、杨家岭革命旧址、中共中央西北局旧址、延安革命纪念馆组成。景区是延安445处革命遗存中的经典代表，是全国重点文物保护单位，全国爱国主义、革命传统、延安精神三大教育示范基地，全国首批红色旅游经典景区。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p21:1
            }
          })
        }else if(photo==22){
          wx.showModal({
            title: '背景故事',
            content: '周恩来故居坐落在全国历史文化名城江苏省淮安市淮安区驸马巷7号。1898年3月5日，周恩来同志就诞生在这里，并在故乡度过了12个春秋。周恩来故居大门上方悬挂着一块由邓小平亲笔题写的“周恩来同志故居”红底金字匾额，在阳光映照下熠熠生辉。周恩来故居由东西相连两个宅院组成，东宅院临驸马巷，西宅院临局巷，都是曲折的三进院。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p22:1
            }
          })
        }else if(photo==23){
          wx.showModal({
            title: '背景故事',
            content: '中共二大会址位于上海市静安区老成都北路7弄30号（原南成都路辅德里625号）。这里当年是中共中央局宣传主任李达的寓所，也是我党第一个秘密出版机构——人民出版社的所在地。1922年7月16日至23日，在这里召开了中共二大。2003年，被上海市人民政府命名为“上海市爱国主义教育基地”。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p23:1
            }
          })
        }else if(photo==24){
          wx.showModal({
            title: '背景故事',
            content: '中共一大纪念馆是为了纪念中国共产党第一次全国代表大会在上海的召开，会议宣告中国共产党正式成立。中共一大会址原是一栋典型的上海石库门建筑，1920年秋建造。后中共一大纪念馆选址紧邻中共一大会址，位于上海市黄浦区黄陂南路、兴业路路口以东。中共一大纪念馆以中共一大会址、宣誓大厅、新建展馆等为主要展览展示空间。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p24:1
            }
          })
        }else if(photo==25){
          wx.showModal({
            title: '背景故事',
            content: '温州浙南革命根据地旧址群位于温州南部，地处素有“浙江延安”之称的平阳县西部水头镇、山门镇境内，由中国工农红军挺进师纪念园和中共浙江省一大纪念园两大部分组成。现存革命遗迹众多，主要的红色旅游资源有中国工农红军挺进师纪念碑；粟裕将军部分骨灰敬撒处；闽浙边抗日救亡干部学校旧址。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p25:1
            }
          })
        }else if(photo==26){
          wx.showModal({
            title: '背景故事',
            content: '川陵革命根据地是中国共产党在抗日战争时期建立的一个重要根据地，位于四川省巴中市通江县沙溪镇境内。根据地于1937年11月成立，由周恩来任主持工作，成为华中地区最大的抗日武装力量之一，曾发起了多次抗日武装斗争。在根据地建立后不久，周恩来就在这里召开了中共中央政治局扩大会议，制定了一系列发展根据地和加强党的领导的方针和政策。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p26:1
            }
          })
        }else if(photo==27){
          wx.showModal({
            title: '背景故事',
            content: '遵义会议会址位于贵州省遵义市红花岗区老城红旗路（原子尹路）80号，是一栋中西合璧的两层砖木结构建筑。该会址为1935年初中国工农红军长征到达遵义后中共中央政治局扩大会议的会址，遵义会议确立了以毛泽东为代表的新的中央领导集体。',
            showCancel: false
          })
          map.where({
            openid:this.data.openid
          }).update({
            data:{
              p27:1
            }
          })
        }

        

  
      }
    }
  },


  // 移动算法
  isPass: false,
  goMove(e) {
    // 通关 或者 没开始游戏 就不能移动
    if (this.isPass || !this.isStart) return;

    let index = e.currentTarget.dataset.index,
      nowDifficulty = this.data.nowDifficulty,
      numData = this.data.numData,
      firstone= this.data.firstone,
      transposition=this.data.transposition,
      step = this.data.step;
      if(transposition){//换位
        if(firstone){//第一个图片位置
          var one=index
          firstone=false
          this.setData({
            one,firstone
          })
          wx.showToast({
            title: "已选择1/2,请再选择一个拼图",
            icon: 'none',
            duration: 2000//持续的时间
          })
          return;
        }
        var one=this.data.one
        var two=index
      console.log(one,two)
      this.setData({
        transposition:false
      })
      var s=numData[one]
      numData[one]=numData[two]
      numData[two]=s
      wx.showToast({
        title: "交换成功!",
        icon: 'none',
        duration: 2000//持续的时间
      })
      this.setData({ numData,firstone:true});
      this.gameOver();
    }
    for (let i in numData) {
      if (index == i) {
        let x = '';
        // 当前点击的 上下左右 方向如果有空位的话，就互换位置
        if (numData[index - nowDifficulty] && numData[index - nowDifficulty].isEmpty) {  // 下
          x = index - nowDifficulty;
        } else if (numData[index + nowDifficulty] && numData[index + nowDifficulty].isEmpty) {  // 上
          x = index + nowDifficulty;
        } else if (numData[index - 1] && numData[index - 1].isEmpty) {  // 左
          // 如果是在最左边的话，禁止向左移动
          for (let h = 1; h < nowDifficulty; h++) {
            if (index == nowDifficulty * h) return;
          }
          x = index - 1;
        } else if (numData[index + 1] && numData[index + 1].isEmpty) {  // 右
          // 如果是在最右边的话，禁止向右移动
          for (let h = 1; h < nowDifficulty; h++) {
            if (index == nowDifficulty * h - 1) return;
          }
          x = index + 1;
        } else {
          return; // 没有空位不做任何操作
        }

        // Es6 解构赋值
        [numData[i], numData[x]] = [numData[x], numData[i]];
        step += 1;
        innerAudioContext.play(); // 播放移动效果的音乐
        break;
      }
    }
    this.setData({ step, numData });
    this.gameOver();
  },

  // 初始化题目
  initNum(size) {
    let nowDifficulty = this.data.nowDifficulty, maxDifficulty = this.data.maxDifficulty;
    if (size >= nowDifficulty && size <= maxDifficulty) {
      let numData = [];
      for (let i = 1; i < size * size; i++) {
        numData.push({ num: i, isEmpty: false }); // isEmpty：当前这格是否为空
      }
      numData.push({ num: size * size, isEmpty: true });
      this.setData({
        m: '00', s: '00', step: 0, numData
      })
    } else {
      console.error('初始化题目错误：难度超出限制大小');
    }
  },

  // 随机打乱题目顺序
  disorganize(numData) {
    let nowDifficulty = this.data.nowDifficulty;
    numData.sort(() => { return (0.5 - Math.random()); }); // 随机打乱顺序
    while (!numData[numData.length - 1].isEmpty) {
      numData.sort(() => { return (0.5 - Math.random()); }); // 当前空格在最后一位就退出循环
    }

    let num = 0;
    for (let i = 0; i < numData.length; i++) {
      for (let x = i + 1; x < numData.length; x++) {
        // 计算逆序数总的数量
        if (numData[i].num > numData[x].num) {
          num += 1;
        }
      }
    }

    // 逆序数的数量 必须为偶数才有解
    if (num % 2 == 0) {
      this.setData({ numData });
    } else {
      // 递归调用，直到逆序数的数量为偶数才终止
      this.disorganize(numData);
    }
  },

      // 定时器
      Timer: null,
      times: 0,
  countdown() {

    let that = this;
    clearInterval(that.timer);
    that.Timer = null;
    that.Timer = setInterval(function () {
      that.times += 1;

      // 超过1小时，游戏也结束
      if (that.times > 3600) {
        clearInterval(that.Timer);
        that.Timer = null;
        that.times = 0;
        wx.showModal({
          title: '超时提示',
          content: '您的游戏时间已超时，请重新开始游戏',
          showCancel: false,
          success(res) {
            that.isPass = true;
            that.isStart = false;
            that.setData({
              m: '00',
              s: '00',
              step: 0
            })
          }
        })
        return;
      }

      // 更新分、秒数
      if (that.times < 60) {
        that.setData({
          s: that.times < 10 ? '0' + that.times : that.times,
          m: '00'
        })
      } else {
        let mm = parseInt(that.times / 60);
        let ss = that.times - (mm * 60);
        that.setData({
          m: mm < 10 ? '0' + mm : mm,
          s: ss < 10 ? '0' + ss : ss
        })
      }
    }, 1000)
  },

  
  // 选择难度
  choose() {
    let that = this, nowDifficulty = this.data.nowDifficulty, nowDifficultyDef = this.data.nowDifficultyDef;
    wx.showActionSheet({
      itemList: ['3X3','4X4','5X5'],
      success(res) {
          that.setData({ nowDifficulty: res.tapIndex + 3 })
          that.reset();
      }
    })
  },
//分享
  onShareAppMessage(e) {
    return {
      title: '红色拼图乐，谁能登顶排行榜？',
      path: 'pages/index/index'
    }
  },
  onShareTimeline() {
    return {
      title: '[小程序] 红色拼图乐，谁能登顶排行榜？',
      query: 'zzfrom=pyq'
    }
  },

  //页面初次加载成功
    /**
   * 生命周期函数--监听页面初次渲染完成
   */
//判断用户是否注册
onReady: function () {
  wx.showShareMenu({
    withShareTicket: true,
    menus: ['shareAppMessage', 'shareTimeline']
})
      wx.cloud.callFunction({
        name:"getopenid",
        complete:res =>{
          var s=res.result.openid
          app.globalData.openid=res.result.openid
          this.setData({
            openid:res.result.openid
          })

          map.where({
            openid:s
          }).get({
            success:r=>{
              console.log('不存在',r.data.length)
              if(r.data.length==0){
          map.add({
            data:{
              openid:res.result.openid,
              p1:0,
              p2:0,
              p3:0,
              p4:0,
              p5:0,
              p6:0,
              p7:0,
              p8:0,
              p9:0,
              p10:0,
              p11:0,
              p12:0,
              p13:0,
              p14:0,
              p15:0,
              p16:0,
              p17:0,
              p18:0,
              p19:0,
              p20:0,
              p21:0,
              p22:0,
              p23:0,
              p24:0,
              p25:0,
              p26:0,
              p27:0,
            }
          })
        }
      }
    })
      
          db.where({
            openid:res.result.openid
          }).get({
            success:res=>{
              console.log('不存在',res.data.length)
              if(res.data.length==0){
                console.log("执行")
                wx.navigateTo({
                  url:  '/pages/login/login',
                  events:{
                    backFn:(backParams)=>{
                      setTimeout(() => {
                        this.setData({
                          loading: true
                        })
                      }, setTimeout(() => {
                        this.setData({
                          loading: false
                        })
                      }, 3000));
                      setTimeout(() => {
                        this.onShow()
                      }, 2000);
                    }
                  }
                })
              }
              else{
                this.onShow()
              }
            }
          })
        }
      })
      //机器人走路
      var that = this;
      var i = 0
      var ii = 0
    
      var animationData = wx.createAnimation({
        duration: 800, // 默认为400     动画持续时间，单位ms
        timingFunction: 'ease-in-out',
      });
    
      var move = wx.createAnimation({
        duration: 800, // 默认为400     动画持续时间，单位ms
        timingFunction: 'ease-in-out',
      });
    
      
    
      // 更新数据
      that.setData({
        // 导出动画示例
        move: move.export(),
      })
    
      setInterval(function () {
        //动画的脚本定义必须每次都重新生成，不能放在循环外
        move.translateX(100).step({ duration: 5000 }).translateX(15).step({ duration: 5000 });
    
        // 更新数据
        that.setData({
          // 导出动画示例
          move: move.export(),
        })
        ++ii;
    
      }.bind(that),10000);
    },
    onShow: function () {//获取个人信息
      var openid=app.globalData.openid
          db.where({
            openid:openid
          }).get({
            success:r=>{
              if(r.data[0].jifen>100){
                var rank="王者"
              }
              else if(r.data[0].jifen>70){
                var rank="星耀"
              }
              else if(r.data[0].jifen>50){
                var rank="白金"
              }
              else if(r.data[0].jifen>30){
                var rank="黄金"
              }
              else if(r.data[0].jifen>20){
                var rank="白银"
              }
              else if(r.data[0].jifen>10){
                var rank="青铜"
              }
              else{
                var rank="新手"
              }
              this.setData({
                openid:r.data[0].openid,
                name:r.data[0].name,
                fileID:r.data[0].fileID,
                jifen:r.data[0].jifen,
                rank:rank,
                badge1:r.data[0].badge1,
                badge2:r.data[0].badge2,
                badge3:r.data[0].badge3,
                badge4:r.data[0].badge4,
                badge5:r.data[0].badge5,
                badge6:r.data[0].badge6,
                badge7:r.data[0].badge7,
                badge8:r.data[0].badge8,
                num:r.data[0].num
              })
            }
      })
      setTimeout(() => {
        if  (this.fileID=''){
          console.log(111)
            this.setData({
              fileID:"/images/0.png"
            })
        }
        var badge4=this.data.badge4
        var jifen=this.data.jifen
        var openid=app.globalData.openid
        var num=this.data.num
        var badge6=this.data.badge6
        if (jifen>66&&badge4!=true){
          this.setData({
            badge4Hidden:false,
            badge4:true
          })
          db.where({
            openid:openid
          }).update({
            data:{
              badge4:true
            }
          })
        }
        if(num>20&&badge6!=true){
          this.setData({
            badge6Hidden:false,
            badge6:true
          })
          db.where({
            openid:openid
          }).update({
            data:{
              badge6:true
            }
          })
        }
        
      }, 1000);



    },
    //机器人说话
    switch: function(e) {
      const length = this.data.talkList.length
      for (let i = 0; i < length; ++i) {
        const x = Math.floor(Math.random() * length)
        const y = Math.floor(Math.random() * length)
        const temp = this.data.talkList[x].id
        this.data.talkList[x].id = this.data.talkList[y].id
        this.data.talkList[y].id = temp
      }
      this.setData({
        talkList: this.data.talkList
      })
    },
   // 
    offbadge1(e) {
      console.log('==', e)
      this.setData({
        badge1Hidden: true
      })
    },
    offbadge2(e) {
      console.log('==', e)
      this.setData({
        badge2Hidden: true
      })
    },
    offbadge3(e) {
      console.log('==', e)
      this.setData({
        badge3Hidden: true
      })
    },
    offbadge4(e) {
      console.log('==', e)
      this.setData({
        badge4Hidden: true
      })
    },
    offbadge5(e) {
      console.log('==', e)
      this.setData({
        badge5Hidden: true
      })
    },
    offbadge6(e) {
      console.log('==', e)
      this.setData({
        badge6Hidden: true
      })
    },
    offbadge7(e) {
      console.log('==', e)
      this.setData({
        badge7Hidden: true
      })
    },
    offbadge8(e) {
      console.log('==', e)
      this.setData({
        badge8Hidden: true
      })
    },
    goToMap:function(param){
      wx.navigateTo({
    
        url:  '/pages/map/map',
        
        })
    },
//考试信息


powerDrawer: function (e) {  
  var currentStatu = e.currentTarget.dataset.statu;  
  var bj=this.data.bj
  var xm=this.data.xm
  var xh=this.data.xh
  var dh=this.data.dh
  var cym=this.data.cym
  console.log(bj,xm,xh,dh,cym)
  examQR.get({
    success:res=>{
      console.log(res.data[0].time)
      console.log(app.globalData.openid)
      if(cym==res.data[0].exam&&res.data[0].time==1){
        wx.showToast({
          title: '登录成功',
          icon:'success'
        })
        exam.where({
          openid:app.globalData.openid
        }).get({
          success:r=>{
            if(r.data.length==0){
              exam.add({
                data:{
                  openid:app.globalData.openid,
                  bj:bj,
                  xm:xm,
                  xh:xh,
                  dh:dh,
                  score:0
                }
              })
              this.setData({
                isexam:1,
                score:0
              })
            }
            else{
              this.setData({
                isexam:1,
                score:r.data[0].score
              })
              console.log(r.data[0].score)
            }
          }
        })
      }
      else if(cym!=res.data[0].exam){
        wx.showToast({
          title: '测验码错误',
          icon: 'error'
        })
      }
      else{
        wx.showToast({
          title: '未在规定时间内',
          icon: 'error'
        })
      }
    }
  })
  this.util(currentStatu)  
},  
util: function(currentStatu){  
  /* 动画部分 */  
  // 第1步：创建动画实例   
  var animation = wx.createAnimation({  
    duration: 200,  //动画时长  
    timingFunction: "linear", //线性  
    delay: 0  //0则不延迟  
  });  
    
  // 第2步：这个动画实例赋给当前的动画实例  
  this.animation = animation;  

  // 第3步：执行第一组动画  
  animation.opacity(0).rotateX(-100).step();  

  // 第4步：导出动画对象赋给数据对象储存  
  this.setData({  
    animationData: animation.export()  
  })  
    
  // 第5步：设置定时器到指定时候后，执行第二组动画  
  setTimeout(function () {  
    // 执行第二组动画  
    animation.opacity(1).rotateX(0).step();  
    // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象  
    this.setData({  
      animationData: animation  
    })  
      
    //关闭  
    if (currentStatu == "close") {  
      this.setData(  
        {  
          showModalStatus: false  
        }  
      );  
    }  
  }.bind(this), 200)  
  
  // 显示  
  if (currentStatu == "open") {  
    this.setData(  
      {  
        showModalStatus: true  
      }  
    );  
  }  
} ,
powercancel(){
  this.setData({
    showModalStatus: false  
  })
},
power(){
  this.setData({
    showModalStatus: true  
  })
},
examinputbj:function(e){
  console.log(e.detail.value)
  this.setData({
    bj:e.detail.value
  })
},
examinputxm:function(e){
  this.setData({
    xm:e.detail.value
  })
},
examinputxh:function(e){
  this.setData({
    xh:e.detail.value
  })
},
examinputdh:function(e){
  this.setData({
    dh:e.detail.value
  })
},
examinputcym:function(e){
  this.setData({
    cym:e.detail.value
  })
},
})
